package main

import (
	"fmt"
	"io"
	"os"
)

/*
  https://studygolang.com/static/pkgdoc/pkg/os.htm
*/
func main() {
	filePath := "C:\\Users\\mlamp\\temp\\go\\file\\read\\demo.txt"
	file, errOpen := os.Open(filePath) // 打开文件
	if errOpen != nil {
		fmt.Println("打开文件异常！", errOpen)
	}

	bytes := make([]byte, 1024) // 创建字节数组切片
	for {
		offset, errRead := file.Read(bytes)
		if errRead == io.EOF {
			fmt.Println("~~~文件读完了！", errRead)
			break
		}
		fmt.Printf("offset = %v : content = %v \n", offset, string(bytes[:offset]))
	}

	// 关闭文件
	// errClose := file.Close()
	// if errClose != nil {
	// 	fmt.Println("关闭文件异常！", errClose)
	// }

	defer file.Close() // 函数退出的时候才调用！

}
